<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="test.XLSParser"%>
<%@ page import="test.query"%>
<%@ page import="jxl.Cell"%>
<%@ page import="java.util.Vector"%>
<%@ page import="java.sql.*;"%>

<%	// 엑셀파일 가져오기
int gogogo=0;
int flag=0;
Vector<String> eList = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int eNumList[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> eList1 = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int eNumList1[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> eList2 = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int eNumList2[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> eList3 = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int eNumList3[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> eList4 = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int eNumList4[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> dList = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int dNumList[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> cddList = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int cddNumList[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)

Vector<String> decdList = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int decdNumList[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)



for(int i=0 ; i<100 ; i++){
	eNumList[i]=0;
	dNumList[i]=0;
	
}

Vector<String> newAttList = new Vector<String>(); // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)
int newAttNumList[] = new int[10000]; // 엑셀에 있는 환자 리스트 (중복된 환자가 너무 많앟서 중복제거한 리스트)







int eleCount=0;
int CDECount=0;
int VDCount=0;
int DACount=0;
int MVCount=0;
int CDCount=0;
int DECCount=0;

//int eleCount=0;
while(gogogo < 48169){
	
	String fileName      = "test(USHIK)/test ("+(gogogo+1)+").xls";                             //파일명
	String skdFilePath = "C:";                                 //파일경로
	XLSParser parser = new XLSParser();
	query query = new query();
	parser.setXLSFilePath(skdFilePath+"/"+fileName);
	if( !parser.parseXLS(0) ) {
		System.out.println("엑셀파일 파싱시 오류");                             //에러처리
		return;
	}
	
	

	for( int i = 0; i < 1; i++) {
		Cell [] rows = parser.getRow(i);
		//System.out.println(parser.getRow(i));
		//System.out.println("이놈이니!");
		
		
		//String str2=rows[0].getContents();
		//System.out.println(str2);
		
		
		if( rows != null ) {
			//String name=rows[0].getContents();
			// 셋중에 뭔지 검사
			
			
			
			for(int j = 0; j < rows.length; j++) {
				String data;
				if(j==0){ 
					data =  rows[0].getContents();
					if( i==0 && data.equals("Data Element Details") ){
						flag=0;
						eleCount+=1;
						//System.out.println(data);
					}
					else if( i==0 && data.equals("Value Domain Details") ){
						flag=1;
						VDCount+=1;
						return;
						//System.out.println(data);
					}
					else if( i==0 && data.equals("Data Agreement Details") ){
						flag=2;
						DACount+=1;
						//System.out.println(data);
					}
					
					else if( i==0 && data.equals("Model View Details") ){
						flag=3;
						MVCount+=1;
						//System.out.println(data);
					}
					else if( i==0 && data.equals("Composite Data Element Details") ){
						flag=4;
						CDECount+=1;
						//System.out.println(data);
					}
					
					else if( i==0 && data.equals("Conceptual Domain Details") ){
						flag=5;
						CDCount+=1;
						//System.out.println(data);
					}
					
					else if( i==0 && data.equals("Data Element Concept Details") ){
						flag=6;
						DECCount+=1;
						//System.out.println(data);
					}
					
					else if( i==0 && data.equals("Standard Element Details")){
						System.out.println("이놈!!!");
						return;
					}
					
					
					
					else{
						if(i==0){
							if(newAttList.isEmpty()){
								newAttList.add(data);
//								if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//								else pGenderList.add("female");
							}
							
							
							// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
							int k=0;
							for(k=0 ; k<newAttList.size() ; k++){
								if(data.equals(newAttList.elementAt(k))){
									newAttNumList[newAttList.indexOf(data)]++;
									break;
								}
								
							}
							
							if(newAttList.size()==k){
								newAttList.add(data);
								
//								if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//								else pGenderList.add("female");
								
							}
							
							
//							System.out.println("fks!!!!!!! "+data);
//							return;
						}
					
					}
					
//					if( data.equals("Model View Details") ){
	//					System.out.println("멈춤@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@      : "+(gogogo+1));
//						return;
//					}
					
					
					
					/*
					
						// elements
					if(flag==0){
						//eList.add(data);
						//System.out.println(data);
						if(eList.isEmpty()){
							eList.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<eList.size() ; k++){
							if(data.equals(eList.elementAt(k))){
								eNumList[eList.indexOf(data)]++;
								break;
							}
							
						}
						
						if(eList.size()==k){
							eList.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
					
					else if(flag==1){
						//eList.add(data);
						//System.out.println(data);
						if(eList1.isEmpty()){
							eList1.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<eList1.size() ; k++){
							if(data.equals(eList1.elementAt(k))){
								eNumList1[eList1.indexOf(data)]++;
								break;
							}
							
						}
						
						if(eList1.size()==k){
							eList1.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
					
					else if(flag==2){
						//eList.add(data);
						//System.out.println(data);
						if(eList2.isEmpty()){
							eList2.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<eList2.size() ; k++){
							if(data.equals(eList2.elementAt(k))){
								eNumList2[eList2.indexOf(data)]++;
								break;
							}
							
						}
						
						if(eList2.size()==k){
							eList2.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
					else if(flag==3){
						//eList.add(data);
						//System.out.println(data);
						if(eList3.isEmpty()){
							eList3.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<eList3.size() ; k++){
							if(data.equals(eList3.elementAt(k))){
								eNumList3[eList3.indexOf(data)]++;
								break;
							}
							
						}
						
						if(eList3.size()==k){
							eList3.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
						
					else if(flag==4){
						//eList.add(data);
						//System.out.println(data);
						if(eList4.isEmpty()){
							eList4.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<eList4.size() ; k++){
							if(data.equals(eList4.elementAt(k))){
								eNumList4[eList4.indexOf(data)]++;
								break;
							}
							
						}
						
						if(eList4.size()==k){
							eList4.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
					
					*/					
					if(flag==5){
						//eList.add(data);
						//System.out.println(data);
						if(cddList.isEmpty()){
							cddList.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<cddList.size() ; k++){
							if(data.equals(cddList.elementAt(k))){
								cddNumList[cddList.indexOf(data)]++;
								break;
							}
							
						}
						
						if(cddList.size()==k){
							cddList.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
						
					else if(flag==6){
						//eList.add(data);
						//System.out.println(data);
						if(decdList.isEmpty()){
							decdList.add(data);
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
						}
						
						
						// 엑셀파일에 있는 환자 리스트를 만듬(중복 제거)
						int k=0;
						for(k=0 ; k<decdList.size() ; k++){
							if(data.equals(decdList.elementAt(k))){
								decdNumList[decdList.indexOf(data)]++;
								break;
							}
							
						}
						
						if(decdList.size()==k){
							decdList.add(data);
							
//							if(exTempGender.charAt(0)=='1') pGenderList.add("male");
//							else pGenderList.add("female");
							
						}
					}
													
					
					
//					System.out.println(data);
				}
//				if( data.equals("Data Element Details") ) System.out.println(j+"fks");
				
				
			}
			
			
				
				
			}
		}
	


gogogo++;
System.out.println("																		Current Num : "+gogogo);
System.out.println("																		Current DE Cnt : "+eleCount);
System.out.println("																		Current VD Cnt : "+VDCount);
System.out.println("																		Current DA Cnt : "+DACount);
System.out.println("																		Current MV Cnt : "+MVCount);
System.out.println("																		Current CDE Cnt : "+CDECount);
System.out.println("																		Current CD Cnt : "+CDCount);
System.out.println("																		Current DEC Cnt : "+DECCount);

System.out.println("																		progress    : "+(((float)gogogo/48169.0)*100)+"%");
}

for(int j=0 ; j<cddList.size() ; j++){
	System.out.println((cddNumList[cddList.indexOf(cddList.elementAt(j))]+1) +" : " +cddList.elementAt(j));
	
}
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
for(int j=0 ; j<decdList.size() ; j++){
	System.out.println((decdNumList[decdList.indexOf(decdList.elementAt(j))]+1) +" : " +decdList.elementAt(j));
	
}
/*
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
for(int j=0 ; j<eList2.size() ; j++){
	System.out.println((eNumList2[eList2.indexOf(eList2.elementAt(j))]+1) +" : " +eList2.elementAt(j));
	
}
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
for(int j=0 ; j<eList3.size() ; j++){
	System.out.println((eNumList3[eList3.indexOf(eList3.elementAt(j))]+1) +" : " +eList3.elementAt(j));
	
}
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
System.out.println("mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm");
for(int j=0 ; j<eList4.size() ; j++){
	System.out.println((eNumList4[eList4.indexOf(eList4.elementAt(j))]+1) +" : " +eList4.elementAt(j));
	
}

*/


for(int k=0 ; k<newAttList.size() ; k++){
	System.out.println(newAttList.get(k)+" : "+newAttNumList[k]);
	
	
}

%>

